package com.ntschy.bt.entity.dataobject;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ntschy.common.valid.date.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 问卷主体对象 bt_question
 *
 * @author
 * @date 2021-1-12
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName("bt_question")
@ApiModel(description = "问卷主体实体类")
public class BtQuestion {

    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(type = IdType.UUID,value = "id")
    @ApiModelProperty(value = "主键ID")
    private String id;

    /**
     * 问卷标题
     */
    @TableField("title")
    @ApiModelProperty(value = "问卷标题")
    private String title;

    /**
     * 开始时间
     */
    @TableField("StartTime")
    @ApiModelProperty(value = "开始时间")
    private String startTime;

    /**
     * 截止时间
     */
    @TableField("EndTime")
    @ApiModelProperty(value = "截止时间")
    private String endTime;

    /**
     * 创建人ID
     */
    @TableField(fill = FieldFill.INSERT, value = "CreateUserId")
    @ApiModelProperty(value = "创建人ID")
    private String createUserId;

    /**
     * 创建人姓名
     */
    @TableField("CreateUserName")
    @ApiModelProperty(value = "创建人姓名")
    private String createUserName;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT, value = "CreateTime")
    @ApiModelProperty(value = "创建时间")
    private String createTime;

    /**
     * 状态 1-待发布 2-已发布
     */
    @TableField("status")
    @ApiModelProperty(value = "状态 1-待发布 2-已发布")
    private Integer status;

    /**
     * 发布人ID
     */
    @TableField(fill = FieldFill.INSERT,value = "PublishUserID")
    @ApiModelProperty(value = "发布人ID")
    private String publishUserId;

    /**
     * 发布人姓名
     */
    @TableField("PublishUserName")
    @ApiModelProperty(value = "发布人姓名")
    private String publishUserName;

    /**
     * 发布时间
     */
    @TableField("PublishTime")
    @ApiModelProperty(value = "发布时间")
    private String publishTime;

    /**
     * 删除 0-正常 1-删除
     */
    @TableLogic
    @TableField("DelFlag")
    @ApiModelProperty(value = "删除 0-正常 1-删除")
    private Integer delFlag;

    /**
     * 是否开启 0-关闭 1-开启
     */
    @TableField("Close")
    @ApiModelProperty(value = "是否开启 0-关闭 1-开启")
    private Integer close;

}
